home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / src-16f.lha / tools / worldcom.lisp.orig < prev    next >
Text File  |  1992-12-16  |  6KB  |  196 lines

  1. ;;; -*- Package: USER -*-
  2. ;;;
  3. ;;; **********************************************************************
  4. ;;; This code was written as part of the CMU Common Lisp project at
  5. ;;; Carnegie Mellon University, and has been placed in the public domain.
  6. ;;; If you want to use this code or any part of CMU Common Lisp, please contact
  7. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
  8. ;;;
  9. (ext:file-comment
  10.   "$Header: worldcom.lisp,v 1.40 92/05/22 17:37:32 ram Exp $")
  11. ;;;
  12. ;;; **********************************************************************
  13. ;;;
  14. ;;; This file contains noise to compile the lisp world.
  15. ;;; 
  16.  
  17. (in-package "USER")
  18.  
  19. (with-compiler-log-file
  20.     ("target:compile-lisp.log"
  21.      :optimize '(optimize (speed 2) (space 2) (inhibit-warnings 2)
  22.               (debug-info #-small 2 #+small .5)
  23.               (safety #-small 1 #+small 0))
  24.      :optimize-interface '(optimize-interface (safety #-small 2 #+small 1)
  25.                           #+small (debug-info .5))
  26.      :context-declarations
  27.      '(((:or :external (:and (:match "%") (:match "SET"))
  28.          (:member lisp::%put lisp::%rplaca lisp::%rplacd lisp::%puthash))
  29.     (declare (optimize-interface (safety 2) #+small (debug-info 1))
  30.          #+small (optimize (debug-info 1))))
  31.        ((:or (:and :external :macro)
  32.          (:match "$PARSE-"))
  33.     (declare (optimize (safety 2))))
  34.        ((:and :external (:match "LIST"))
  35.     (declare (optimize (safety 1))))))
  36.  
  37. ;;; these guys need to be first.
  38. (comf "target:code/struct") ; For structures.
  39.  
  40. ;;; Assembly files.
  41. (when (c:backend-featurep :pmax)
  42.   (comf "target:assembly/mips/assem-rtns" :assem t)
  43.   (comf "target:assembly/mips/array" :assem t)
  44.   (comf "target:assembly/mips/bit-bash" :assem t)
  45.   (comf "target:assembly/mips/arith" :assem t)
  46.   (comf "target:assembly/mips/alloc" :assem t))
  47.  
  48. (when (c:backend-featurep :sparc)
  49.   (comf "target:assembly/sparc/assem-rtns" :assem t)
  50.   (comf "target:assembly/sparc/array" :assem t)
  51.   (comf "target:assembly/sparc/bit-bash" :assem t)
  52.   (comf "target:assembly/sparc/arith" :assem t)
  53.   (comf "target:assembly/sparc/alloc" :assem t))
  54.  
  55. (when (c:backend-featurep :rt)
  56.   (comf "target:assembly/rt/assem-rtns" :assem t)
  57.   (comf "target:assembly/rt/array" :assem t)
  58.   (comf "target:assembly/rt/arith" :assem t)
  59.   (comf "target:assembly/rt/alloc" :assem t))
  60.  
  61. ;;; these guys can supposedly come in any order, but not really.
  62. ;;; some are put at the end so macros don't run interpreted and stuff.
  63.  
  64. (comf "target:code/kernel")
  65. (comf "target:code/lispinit")
  66. (comf "target:code/fdefinition")
  67.  
  68. (comf "target:code/error")
  69.  
  70. (comf "target:compiler/type")
  71. (comf "target:compiler/generic/vm-type")
  72. (comf "target:compiler/type-init")
  73. (comf "target:code/pred")
  74.  
  75. (comf "target:code/alieneval")
  76. (comf "target:code/c-call")
  77. (comf "target:code/sap")
  78.  
  79. (comf "target:code/bit-bash")
  80. (comf "target:code/array")
  81. (comf "target:code/hash")
  82.  
  83. (with-compilation-unit
  84.   (:optimize '(optimize (safety 1)))
  85.   (comf "target:code/list")
  86.   (comf "target:code/seq")) ; seq must come after list
  87.  
  88. (comf "target:code/string")
  89. (comf "target:code/mipsstrops")
  90.  
  91. (comf "target:code/unix")
  92. #+mach (comf "target:code/mach")
  93. #+mach (comf "target:code/mach-os")
  94. #+sunos (comf "target:code/sunos-os")
  95.  
  96. (when (c:backend-featurep :pmax)
  97.   (comf "target:code/pmax-vm"))
  98. (when (c:backend-featurep :sparc)
  99.   (comf "target:code/sparc-vm"))
  100. (when (c:backend-featurep :rt)
  101.   (comf "target:code/rt-vm"))
  102.  
  103. (comf "target:code/symbol")
  104. (comf "target:code/bignum")
  105. (comf "target:code/numbers")
  106. (comf "target:code/float-trap")
  107. (comf "target:code/float")
  108. (comf "target:code/irrat")
  109.  
  110. (comf "target:code/type-boot")
  111.  
  112. (comf "target:compiler/proclaim")
  113.  
  114. (comf "target:code/char")
  115. (comf "target:code/misc")
  116. (comf "target:code/extensions")
  117. (comf "target:code/commandline")
  118.  
  119. (comf "target:code/room")
  120. (comf "target:code/gc")
  121. (comf "target:code/purify")
  122. (comf "target:code/save")
  123.  
  124. (comf "target:code/stream")
  125. (comf "target:code/print")
  126. (comf "target:code/pprint")
  127. (comf "target:code/format")
  128.  
  129. (comf "target:code/package")
  130. (comf "target:code/reader")
  131. (comf "target:code/sharpm")
  132. (comf "target:code/backq")
  133.  
  134. (comf "target:code/serve-event")
  135. (comf "target:code/fd-stream")
  136. (with-compilation-unit ; Until this code is shaken down more...
  137.   (:optimize '(optimize (safety 2) (debug 2)))
  138.   (comf "target:code/pathname")
  139.   (comf "target:code/filesys"))
  140. (comf "target:code/load")
  141. (comf "target:code/module")
  142.  
  143. (comf "target:code/eval")
  144.  
  145. (comf "target:code/signal")
  146. (comf "target:code/interr")
  147. (comf "target:code/debug-info")
  148. (comf "target:code/debug-int")
  149. (comf "target:code/debug")
  150.  
  151. (comf "target:code/query")
  152. (comf "target:code/rand")
  153. (comf "target:code/trace")
  154. (comf "target:code/ntrace")
  155. (comf "target:code/profile")
  156. (comf "target:code/sort")
  157. (comf "target:code/sysmacs")
  158. (comf "target:code/time")
  159. (comf "target:code/weak")
  160. (comf "target:code/final")
  161.  
  162. ;;; Later so that miscellaneous structures are defined (not crucial, but nice.)
  163. (comf "target:code/describe")
  164. (comf "target:code/tty-inspect")
  165.  
  166. (comf "target:code/format-time")
  167. (comf "target:code/parse-time")
  168. (comf "target:code/run-program")
  169.  
  170. (comf "target:code/loop")
  171.  
  172. (comf "target:code/foreign")
  173. (comf "target:code/internet")
  174. (comf "target:code/wire")
  175. (comf "target:code/remote")
  176.  
  177. (comf "target:code/setf-funs")
  178. (comf "target:code/exports")
  179.  
  180. ;;; Compile basic macros that we assume are already in the compilation
  181. ;;; environment.  We inhibit compile-time definition to prevent these functions
  182. ;;; from becoming interpreted.  In some cases, this is necessary for
  183. ;;; compilation to work at all, since the expander functions are lazily
  184. ;;; converted: we could go into an infinite recursion trying to convert the
  185. ;;; definition of a macro which uses itself.
  186. ;;;
  187. (let ((c:*compile-time-define-macros* nil))
  188.   (comf "target:code/defstruct")
  189.   (comf "target:code/defmacro")
  190.   (comf "target:compiler/globaldb")
  191.   ;; We can't compile anything after macros, 'cause it breaks the running lisp.
  192.   (comf "target:code/macros"))
  193.  
  194.  
  195. ); with-compiler-log-file
  196.